/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.hogent.designpatterns.billenkar;

import be.hogent.designpatterns.billenkar.iterator.Iterator;
import be.hogent.designpatterns.billenkar.iterator.BillenkarIterator;

/**
 *
 * @author Jen Rossey (jenrossey at gmail.com)
 */
public class BillenkarVerzameling {

   private Billenkar[] verzameling;
   private int aantalBillenkarren = 0;
   private static final int MAX_BILLENKARREN = 100;

   /**
    * Maakt een nieuwe BillenkarVerzameling aan.
    */
   public BillenkarVerzameling() {
      verzameling = new Billenkar[MAX_BILLENKARREN];
   }

   /**
    * Voegt een billenkar toe aan de verzameling.
    * @param billenkar De toe te voegen billenkar
    * @return true als toevoegen gelukt is, false als toevoegen mislukt is. Als het mislukt wilt het zeggen dat het maximum aantal billenkarren bereikt is.
    */
   public boolean voegBillenkarToe(Billenkar billenkar) {
      if (aantalBillenkarren < MAX_BILLENKARREN) {
         verzameling[aantalBillenkarren] = billenkar;
         aantalBillenkarren++;
         return true;
      }else{
         return false;
      }
   }

   /**
    * Maakt een Iterator aan om door de billenkarren te itereren.
    * @return Een BillenkarIterator.
    */
   public Iterator createIterator() {
      return new BillenkarIterator(verzameling);
   }

   public boolean update(int i,Billenkar kar) {
       if(i<aantalBillenkarren) {
           verzameling[i] = kar;
           return true;
       }
       else {
           return false;
       }
   }
}
